
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>



QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow

{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr,QString file_path = "");
    ~MainWindow();

private slots:
    void on_pushButton1_clicked();

    void on_pushButton2_clicked();

    void on_pushButton4_clicked();

    void on_action_triggered();

    void on_pushButton5_clicked();

    void on_pushButton6_clicked();

    void on_pushButton3_clicked();

private:
    Ui::MainWindow *ui;

    QImage image;  // 图片对象
    QTransform transform;
    QString current_pic_path;  // 当前图片路径
    QStringList pictures;  // 全部图片文件
    int index = 0;  // 索引
    void show_pic(); // 显示图片
    int zoomout_times = 0; // 放大级数
    int zoomin_times = 0; // 缩小级数
    QPoint lastPos; // 用于记录鼠标上一次的位置

    bool isDragging = false;// 初始化拖动状态为未拖动

    void dragImage(const QPoint &pos);

protected:
    virtual bool eventFilter(QObject *obj, QEvent *event) override;

};

#endif // MAINWINDOW_H
